$ dir sys$sysroot:<syshlp.examples.mms>

Directory SYS$SYSROOT:<SYSHLP.EXAMPLES.MMS>

MMS$DEFAULT_RULES.MMS;1                 MMS$DEFAULT_SHELL_RULES.MMS;1

Total of 2 files.

$ type c SYS$SYSROOT:<SYSHLP.EXAMPLES.MMS>*.*
 
SYS$SYSROOT:<SYSHLP.EXAMPLES.MMS>MMS$DEFAULT_RULES.MMS;1
 
!   RULES.MMS
!
!   IDENT   001
!
!*****************************************************************************
!*                                                                           *
!*  COPYRIGHT (c) 1987 BY                                                    *
!*  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS.                   *
!*  ALL RIGHTS RESERVED.                                                     *
!*                                                                           *
!*  THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED   *
!*  ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE   *
!*  INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER   *
!*  COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY   *
!*  OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY   *
!*  TRANSFERRED.                                                             *
!*                                                                           *
!*  THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE   *
!*  AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT   *
!*  CORPORATION.                                                             *
!*                                                                           *
!*  DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS   *
!*  SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.                  *
!*                                                                           *
!*                                                                           *
!*****************************************************************************
!

!++
! FACILITY:	 DEC/MMS
!
! ABSTRACT:	 This file contains the default rules used by MMS.
!		 If the macro $(SCALIBRARY) is defined (meaning /SCA was
!		 specified on the command line), the SCA rules are enabled.
!
! ENVIRONMENT:	 VAX/VMS User Mode
!
! CREATION DATE: January 1987
!
! MODIFIED BY:
!
!--

!
! SUFFIXES:
!
.suffixes
.suffixes : .ANL .EXE .OLB .MLB .HLB .TLB .FLB .OBJ .BLI .B32 .C .COB .FOR -
	    .BAS .B16 .PLI .PEN .PAS .MAC .MAR .CLD .MSG .COR .DBL .RPG .MEM -
	    .RNO .HLP .RNH .L32 .REQ .R32 .L16 .R16 .TXT .H .FRM .MMS .DDL -
	    .COM .DAT .OPT .ANL~ .BAS~ .BLI~ .B32~ .B16~ .C~ .CLD~ .COB~ .COM~ -


	    .COR~ .DAT~ .DBL~ .DDL~ .FOR~ .FRM~ .HLP~ .H~ .MAC~ .MAR~ .MMS~ -
	    .MSG~ .OPT~ .PAS~ .PLI~ .REQ~ .R32~ .R16~ .RNH~ .RNO~ .RPG~ .TXT~ 

!
! MACROS:
!
AS		= MACRO
BASIC		= BASIC
BLISS		= BLISS
BLISS16		= BLISS/PDP11
CC		= CC
CMS		= CMS
CMSCOMMENT	= ""
CMSFLAGS	= /GEN=$(MMS$CMS_GEN)
COBOL		= COBOL
CORAL		= CORAL
DIBOL		= DIBOL
FMS		= FMS
FORT		= FORTRAN
LIBR		= LIBRARY
LINK		= LINK
MACRO		= MACRO
PASCAL		= PASCAL
PLI		= PLI
RPG		= RPG
RUNOFF		= RUNOFF
SCA		= SCA
SCAFLAGS	= /LOG
ANLFLAGS	= /OUTPUT=$(MMS$TARGET_NAME).ANL
CDDFLAGS	= 
CLDFLAGS	= 
COBFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
CORFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
DBLFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
FMSFLAGS	= /REPLACE
LIBRFLAGS	= /REPLACE
LINKFLAGS	= /TRACE/NOMAP/EXEC=$(MMS$TARGET_NAME).EXE
MFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
MSGFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
PENVFLAGS	= /NOLIST
RFLAGS		= /OUTPUT=$(MMS$TARGET_NAME)
RPGFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ

.ifdef SCALIBRARY	! /SCA specified

BASFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ/ANALYSIS_DATA=$(MMS$TARG
ET_NAME).ANA
BFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ/ANALYSIS_DATA=$(MMS$TARG
ET_NAME).ANA
BLIBFLAGS	= /NOLIST/ANALYSIS_DATA=$(MMS$TARGET_NAME).ANA
CFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ/ANALYSIS_DATA=$(MMS$TARG
ET_NAME).ANA
FFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ/ANALYSIS_DATA=$(MMS$TARG
ET_NAME).ANA
PFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ/ANALYSIS_DATA=$(MMS$TARG
ET_NAME).ANA
PLIFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ/ANALYSIS_DATA=$(MMS$TARG
ET_NAME).ANA

.else			! /NOSCA specified

BASFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
BFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
BLIBFLAGS	= /NOLIST
CFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
FFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
PFLAGS		= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ
PLIFLAGS	= /NOLIST/OBJECT=$(MMS$TARGET_NAME).OBJ

.endif

!
! RULES:
!

.EXE.ANL :
	ANALYZE/IMAGE $(ANLFLAGS) $(MMS$SOURCE)

.OBJ.EXE :
	$(LINK) $(LINKFLAGS) $(MMS$SOURCE)

.OBJ.ANL :
	ANALYZE/OBJECT $(ANLFLAGS) $(MMS$SOURCE)

.RNO.MEM :
	$(RUNOFF) $(RFLAGS) $(MMS$SOURCE)

.RNH.HLP :
	$(RUNOFF) $(RFLAGS) $(MMS$SOURCE)

.CLD.OBJ :
	SET COMMAND /OBJECT=$(MMS$TARGET_NAME).OBJ $(CLDFLAGS) $(MMS$SOURCE)

.COB.OBJ :
	$(COBOL) $(COBFLAGS) $(MMS$SOURCE)

.COR.OBJ :
	$(CORAL) $(CORFLAGS) $(MMS$SOURCE)

.DBL.OBJ :
	$(DIBOL) $(DBLFLAGS) $(MMS$SOURCE)

.MAR.OBJ :
	$(MACRO) $(MFLAGS) $(MMS$SOURCE)

.MAC.OBJ :
	$(MACRO) $(MFLAGS) $(MMS$SOURCE)

.MSG.OBJ :
	MESSAGE $(MSGFLAGS) $(MMS$SOURCE)

.PAS.PEN :
	$(PASCAL) /ENVIRON=$(MMS$TARGET) $(PENVFLAGS) $(MMS$SOURCE)

.RPG.OBJ :
	$(RPG) $(RPGFLAGS) $(MMS$SOURCE)

.OBJ.OLB :
	If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create $(MMS$TAR
GET)
	$(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE)

.MAC.MLB :
	If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create/Macro $(M
MS$TARGET)
	$(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE)

.MAR.MLB :
	If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create/Macro $(M
MS$TARGET)
	$(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE)

.HLP.HLB :
	If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create/Help $(MM
S$TARGET)
	$(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE)

.TXT.TLB :
	If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(LIBR)/Create/Text $(MM
S$TARGET)
	$(LIBR)$(LIBRFLAGS) $(MMS$TARGET) $(MMS$SOURCE) /MODULE=$(MMS$TARGET_NAM
E)

.FRM.FLB :
	If "''F$Search("$(MMS$TARGET)")'" .NES. "" Then $(FMS)/Library$(FMSFLAGS
) $(MMS$TARGET) $(MMS$SOURCE)
	If "''F$Search("$(MMS$TARGET)")'" .EQS. "" Then $(FMS)/Library/Create  $
(MMS$TARGET) $(MMS$SOURCE)

.ifdef	SCALIBRARY		! /SCA specified

.BAS.OBJ :
	$(BASIC) $(BASFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.BLI.OBJ :
	$(BLISS) $(BFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.B32.OBJ :
	$(BLISS) $(BFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.C.OBJ :
	$(CC) $(CFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.FOR.OBJ :
	$(FORT) $(FFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.PAS.OBJ :
	$(PASCAL) $(PFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.PLI.OBJ :
	$(PLI) $(PLIFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.REQ.L32 :
	$(BLISS)/LIBRARY=$(MMS$TARGET) $(BLIBFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.R32.L32 :
	$(BLISS)/LIBRARY=$(MMS$TARGET) $(BLIBFLAGS) $(MMS$SOURCE)
	mms$scalib = F$TRNLNM( "SCA$LIBRARY" )
	mms$scasetlib = 0
	IF mms$scalib .EQS. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" THEN m
ms$scasetlib = 2
	IF mms$scalib .NES. "" .AND. "$(SCALIBRARY)" .NES. "SCA$LIBRARY:" .AND. 
mms$scalib .NES. "$(SCALIBRARY)" THEN -
		mms$scasetlib = 3
	IF F$SEARCH("$(SCALIBRARY)SCA$EVENT.DAT") .EQS. "" THEN mms$scasetlib = 
(mms$scasetlib .AND. .NOT. 2) .OR. 4
	IF (mms$scasetlib .AND. 4) .EQ. 4 THEN $(SCA) CREATE LIBRARY $(SCAFLAGS)
 $(SCALIBRARY)
	IF (mms$scasetlib .AND. 2) .EQ. 2 THEN $(SCA) SET LIBRARY $(SCAFLAGS) $(
SCALIBRARY)
	$(SCA) LOAD $(SCAFLAGS) $(MMS$TARGET_NAME).ANA
	IF mms$scasetlib THEN $(SCA) SET LIBRARY $(SCAFLAGS) 'mms$scalib'

.else				! /NOSCA specified

.BAS.OBJ :
	$(BASIC) $(BASFLAGS) $(MMS$SOURCE)

.BLI.OBJ :
	$(BLISS) $(BFLAGS) $(MMS$SOURCE)

.B32.OBJ :
	$(BLISS) $(BFLAGS) $(MMS$SOURCE)

.C.OBJ :
	$(CC) $(CFLAGS) $(MMS$SOURCE)

.FOR.OBJ :
	$(FORT) $(FFLAGS) $(MMS$SOURCE)

.PAS.OBJ :
	$(PASCAL) $(PFLAGS) $(MMS$SOURCE)

.PLI.OBJ :
	$(PLI) $(PLIFLAGS) $(MMS$SOURCE)

.REQ.L32 :
	$(BLISS)/LIBRARY=$(MMS$TARGET) $(BLIBFLAGS) $(MMS$SOURCE)

.R32.L32 :
	$(BLISS)/LIBRARY=$(MMS$TARGET) $(BLIBFLAGS) $(MMS$SOURCE)

.B16.OBJ :
	$(BLISS16) $(BFLAGS) $(MMS$SOURCE)

.R16.L16 :
	$(BLISS16) /LIBRARY=$(MMS$TARGET) $(BLIBFLAGS) $(MMS$SOURCE)

.endif

.ANL~.ANL :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).ANL $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.BAS~.BAS :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).BAS $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.BLI~.BLI :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).BLI $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.B16~.B16 :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).B16 $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.B32~.B32 :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).B32 $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.C~.C :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).C $(CMSFLAGS)
 $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.CLD~.CLD :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).CLD $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.COB~.COB :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).COB $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.COR~.COR :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).COR $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.COM~.COM :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).COM $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.DAT~.DAT :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).DAT $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.DBL~.DBL :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).DBL $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.DDL~.DDL :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).DDL $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.FOR~.FOR :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).FOR $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.FRM~.FRM :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).FRM $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.H~.H :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).H $(CMSFLAGS)
 $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.HLP~.HLP :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).HLP $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.MAC~.MAC :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).MAC $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.MAR~.MAR :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).MAR $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.MMS~.MMS :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).MMS $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.MSG~.MSG :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).MSG $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.OPT~.OPT :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).OPT $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.PAS~.PAS :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).PAS $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.PLI~.PLI :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).PLI $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.REQ~.REQ :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).REQ $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.RNH~.RNH :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).RNH $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.RNO~.RNO :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).RNO $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.R16~.R16 :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).R16 $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.R32~.R32 :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).R32 $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.RPG~.RPG :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).RPG $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

.TXT~.TXT :
	mms$cmslib :== 'f$trnlnm("CMS$LIB")
	IF mms$cmslib .nes. "$(MMS$CMS_LIBRARY)" THEN $(CMS) SET LIBRARY $(MMS$C
MS_LIBRARY)
	$(CMS) FETCH $(MMS$CMS_ELEMENT) /OUTPUT=$(MMS$TARGET_NAME).TXT $(CMSFLAG
S) $(CMSCOMMENT)
	IF mms$cmslib .NES. "" .AND. mms$cmslib .NES. "$(MMS$CMS_LIBRARY)" THEN 
$(CMS) SET LIBRARY 'mms$cmslib'

 
SYS$SYSROOT:<SYSHLP.EXAMPLES.MMS>MMS$DEFAULT_SHELL_RULES.MMS;1
 
#   Shell$Rules.Mms
#
#   Ident   003
#
#*****************************************************************************
#*                                                                           *
#*  Copyright (c) 1987 by                                                    *
#*  Digital Equipment Corporation, Maynard, Massachusetts.                   *
#*  All rights reserved.                                                     *
#*                                                                           *
#*  This software is furnished under a license and may be used and  copied   *
#*  only  in  accordance  with  the  terms  of  such  license and with the   *
#*  inclusion of the above copyright notice.  This software or  any  other   *
#*  copies  thereof may not be provided or otherwise made available to any   *
#*  other person.  No title to and ownership of  the  software  is  hereby   *
#*  transferred.                                                             *
#*                                                                           *
#*  The information in this software is subject to change  without  notice   *
#*  and  should  not  be  construed  as  a commitment by Digital Equipment   *
#*  Corporation.                                                             *
#*                                                                           *
#*  Digital assumes no responsibility for the use or  reliability  of  its   *
#*  software on equipment which is not supplied by Digital.                  *
#*                                                                           *
#*                                                                           *
#*****************************************************************************
#

#
# Facility:	 DEC/MMS, DEC/Shell
#
# Abstract:	 This file contains the default rules used by MMS.
#		 If the macro $(SCALIBRARY) is defined (meaning /SCA was
#		 specified on the command line), the SCA rules are enabled.
#
# ENVIRONMENT:	 VAX/VMS User Mode, DEC/Shell CLI
#
# CREATION DATE: January 1987
#
# MODIFIED BY:
#
#	003	12-Mar-1987	TT
#		Remove author's full name. Fix typo in comment.
#
#	002	12-Mar-1987	JPK
#		Updated rules to include SCA rules.
#

#
# Suffixes:
#
.suffixes
.suffixes : .anl .exe .olb .mlb .hlb .tlb .flb .obj .bli .b32 .c .cob .for -
	    .bas .b16 .pli .pen .pas .mac .mar .cld .msg .cor .dbl .rpg .mem -
	    .rno .hlp .rnh .l32 .req .r32 .l16 .r16 .txt .h .frm .mms .ddl -
	    .com .dat .opt .anl~ .bas~ .bli~ .b32~ .b16~ .c~ .cld~ .cob~ .com~ -


	    .cor~ .dat~ .dbl~ .ddl~ .for~ .frm~ .hlp~ .h~ .mac~ .mar~ .mms~ -
	    .msg~ .opt~ .pas~ .pli~ .req~ .r32~ .r16~ .rnh~ .rno~ .rpg~ .txt~ 

#
# Macros:
#
as		= macro
basic		= basic
bliss		= bliss
bliss16		= bliss/pdp11
cc		= cc
cms		= cms
cmscomment	= ""
cmsflags	= /gen=$(mms$cms_gen)
cobol		= cobol
coral		= coral
dibol		= dibol
fms		= fms
fort		= fortran
libr		= library
link		= link
macro		= macro
pascal		= pascal
pli		= pli
rpg		= rpg
runoff		= runoff
sca		= sca
scaflags	= /log
anlflags	= /output=$*.anl
cddflags	= 
cldflags	= 
cobflags	= /nolist/object=$*.obj
corflags	= /nolist/object=$*.obj
dblflags	= /nolist/object=$*.obj
fmsflags	= /replace
librflags	= /replace
linkflags	= /trace/nomap/exec=$*.exe
mflags		= /nolist/object=$*.obj
msgflags	= /nolist/object=$*.obj
penvflags	= /nolist
rflags		= /output=$*
rpgflags	= /nolist/object=$*.obj

.ifdef SCALIBRARY	# /SCA specified

#
# Define Macro that will load .ANA file into SCA library
#
shell$sca_rule	= ( \
    set -d ; \
    test -r '$(scalibrary)sca$event.dat' || $(sca) create library $(scaflags) '$
(scalibrary)' ; \
    $(sca) set library $(scaflags) '$(scalibrary)' ; \
    $(sca) load $(scaflags) $*.ana \
    )

#
# Define flags macros for SCA
#
basflags	= /nolist/object=$*.obj/analysis_data=$*.ana
bflags		= /nolist/object=$*.obj/analysis_data=$*.ana
blibflags	= /nolist/analysis_data=$*.ana
cflags		= /nolist/object=$*.obj/analysis_data=$*.ana
fflags		= /nolist/object=$*.obj/analysis_data=$*.ana
pflags		= /nolist/object=$*.obj/analysis_data=$*.ana
pliflags	= /nolist/object=$*.obj/analysis_data=$*.ana

.else			# /NOSCA specified

#
# Define flags macros for NOSCA
#
basflags	= /nolist/object=$*.obj
bflags		= /nolist/object=$*.obj
blibflags	= /nolist
cflags		= /nolist/object=$*.obj
fflags		= /nolist/object=$*.obj
pflags		= /nolist/object=$*.obj
pliflags	= /nolist/object=$*.obj

.endif

#
# Rules:
#

.exe.anl :
    dcl analyze/image $(anlflags) $<

.obj.exe :
    dcl $(link) $(linkflags) $<

.obj.anl :
    dcl analyze/object $(anlflags) $<

.rno.mem :
    dcl $(runoff) $(rflags) $<

.rnh.hlp :
    dcl $(runoff) $(rflags) $<

.cld.obj :
    dcl set command /object=$* $(cldflags) $<

.cob.obj :
    dcl $(cobol) $(cobflags) $<

.cor.obj :
    dcl $(coral) $(corflags) $<

.dbl.obj :
    dcl $(dibol) $(dblflags) $<

.mar.obj :
    dcl $(macro) $(mflags) $<

.mac.obj :
    dcl $(macro) $(mflags) $<

.msg.obj :
    dcl message $(msgflags) $<

.pas.pen :
    dcl $(pascal) /environ=$@ $(penvflags) $<

.rpg.obj :
    dcl $(rpg) $(rpgflags) $<

.obj.olb  :
	test -r '$@' || dcl $(libr)/create $@
	dcl $(libr) $(librflags) $@ $<

.mac.mlb  :
	test -r '$@' || dcl $(libr)/create/mac $@
	dcl $(libr) $(librflags) $@ $<

.mar.mlb  :
	test -r '$@' || dcl $(libr)/create/mac $@
	dcl $(libr) $(librflags) $@ $<

.hlp.hlb  :
	test -r '$@' || dcl $(libr)/create/help $@
	dcl $(libr) $(librflags) $@ $<

.txt.tlb  :
	test -r '$@' || dcl $(libr)/create/text $@
	dcl $(libr) $(librflags) $@ $<

.frm.flb  :
	test -r '$@' && dcl $(fms)/library $(fmsflags) $@
	test -r '$@' || dcl $(fms)/library/create $@ $<

.ifdef	SCALIBRARY		# /SCA specified

.bas.obj :
    dcl $(basic) $(basflags) $<
    $(shell$sca_rule)

.bli.obj :
    dcl $(bliss) $(bflags) $<
    $(shell$sca_rule)

.b32.obj :
    dcl $(bliss) $(bflags) $<
    $(shell$sca_rule)

.c.obj	 :
    dcl $(cc) $(cflags) $<
    $(shell$sca_rule)

.for.obj :
    dcl $(fort) $(fflags) $<
    $(shell$sca_rule)

.pas.obj :
    dcl $(pascal) $(pflags) $<
    $(shell$sca_rule)

.pli.obj :
    dcl $(pli) $(pliflags) $<
    $(shell$sca_rule)

.req.l32 :
    dcl $(bliss) /library=$@ $(blibflags) $<
    $(shell$sca_rule)

.r32.l32 :
    dcl $(bliss) /library=$@ $(blibflags) $<
    $(shell$sca_rule)

.else				# /NOSCA specified

.bas.obj :
    dcl $(basic) $(basflags) $<

.bli.obj :
    dcl $(bliss) $(bflags) $<

.b32.obj :
    dcl $(bliss) $(bflags) $<

.c.obj	 :
    dcl $(cc) $(cflags) $<

.for.obj :
    dcl $(fort) $(fflags) $<

.pas.obj :
    dcl $(pascal) $(pflags) $<

.pli.obj :
    dcl $(pli) $(pliflags) $<

.req.l32 :
    dcl $(bliss) /library=$@ $(blibflags) $<

.r32.l32 :
    dcl $(bliss) /library=$@ $(blibflags) $<

.b16.obj :
    dcl $(bliss16) $(bflags) $<

.r16.l16 :
    dcl $(bliss16) /library=$@ $(blibflags) $<

.endif

#
# CMS Rules
#

# set the appropriate cms library and fetch the given file and generation
# from it
shell$cms_rule = \
( set -d ; $(cms) set libr '$@' ; $(cms) fetch '$<' '$(cmsflags)' '$(cmscomment)
' )

.anl~.anl : ; $(shell$cms_rule)
.bas~.bas : ; $(shell$cms_rule)
.bli~.bli : ; $(shell$cms_rule)
.b16~.b16 : ; $(shell$cms_rule)
.b32~.b32 : ; $(shell$cms_rule)
.c~.c     : ; $(shell$cms_rule)
.cld~.cld : ; $(shell$cms_rule)
.cob~.cob : ; $(shell$cms_rule)
.cor~.cor : ; $(shell$cms_rule)
.com~.com : ; $(shell$cms_rule)
.dat~.dat : ; $(shell$cms_rule)
.dbl~.dbl : ; $(shell$cms_rule)
.ddl~.ddl : ; $(shell$cms_rule)
.for~.for : ; $(shell$cms_rule)
.frm~.frm : ; $(shell$cms_rule)
.h~.h     : ; $(shell$cms_rule)
.hlp~.hlp : ; $(shell$cms_rule)
.mac~.mac : ; $(shell$cms_rule)
.mar~.mar : ; $(shell$cms_rule)
.mms~.mms : ; $(shell$cms_rule)
.msg~.msg : ; $(shell$cms_rule)
.opt~.opt : ; $(shell$cms_rule)
.pas~.pas : ; $(shell$cms_rule)
.pli~.pli : ; $(shell$cms_rule)
.req~.req : ; $(shell$cms_rule)
.rnh~.rnh : ; $(shell$cms_rule)
.rno~.rno : ; $(shell$cms_rule)
.r16~.r16 : ; $(shell$cms_rule)
.r32~.r32 : ; $(shell$cms_rule)
.rpg~.rpg : ; $(shell$cms_rule)
.txt~.txt : ; $(shell$cms_rule)



$ 
